<?php
namespace Library;

/**
 * Description of HttRequest
 *
 * @author FFOZEU
 */

class HttpRequest extends ApplicationComponent{
    
    /**
     * Reccupère une variable dans le tableau $_COOKIE
     * @param type $key
     * @return type 
     */
    public function cookieData($key){
        return isset($_COOKIE[$key]) ? $_COOKIE[$key] : null;
    }
    /**
     * verifie l'existance d'une variable dans le tableau $_COOKIE
     * @param type $key
     * @return type 
     */
    public function cookieExists($key){
        return isset($_COOKIE[$key]);
    }
    /**
     * Reccupère une variable dans le tableau $_GET
     * @param type $key
     * @return type 
     */
    public function getData($key){
        return isset($_GET[$key]) ? $_GET[$key] : null;
    }
    /**
     * verifie l'existance d'une variable dans le tableau $_GET
     * @param type $key
     * @return type 
     */
    public function getExists($key){
        return isset($_GET[$key]);
    }
    
    /**
     * Reccupère une variable dans le tableau $_POST
     * @param type $key
     * @return type 
     */
    public function postData($key){
        return isset($_POST[$key]) ? $_POST[$key] : null;
    }
    
    /**
     * verifie l'existance d'une variable dans le tableau $_POST
     * @param type $key
     * @return type 
     */
    public function postExists($key){
        return isset($_POST[$key]);
    }
    
    public function requestURI(){
        return $_SERVER['REQUEST_URI'];
    }
    
    public function resquestIp(){
        return $_SERVER['REMOTE_ADDR'];
    }
    
    public function resquestPort(){
        return $_SERVER['REMOTE_PORT'];
    }
    /**
     * ajoute des variable au grand tableau GET
     * @param type $key
     * @param type $value
     * @return type 
     */
    public function addGetVar($key,$value){
        return $_GET[$key]=$value;
    }
    /**
     * determine le type de method pour un formulaire(get ou post)
     * @param type $method
     * @return type 
     */
    public function getMethod($method = null){
        
        return (!empty($method)&& $method=='post'?$_POST:(!empty($method)&& $method=='get'?$_GET:null));
    }
    
    /**
     * methode permettant de retrouver l'url ayant rédirigé à cette page
     * @return type 
     */
    public function refferer(){
        return $_SERVER['HTTP_REFERER'];
    }
    
    /**
     * methode permttant de savoir si l'url proveint d'une requete ajax 
     * @return type 
     */
    public function isXmlHttpRequest(){
        return isset($_SERVER['HTTP_X_REQUESTED_WITH'])&& $_SERVER['HTTP_X_REQUESTED_WITH']=='XMLHttpRequest'?true:false;
    }
}

?>
